load("@rules_java//java:defs.bzl", "java_library")
load("//:testing.bzl", "junit4_test_suites")

package(default_applicable_licenses = ["//:license"])

java_library(
    name = "tests",
    testonly = True,
    srcs = glob(["*.java"]),
    deps = [
        "//:java_truth",
        "//bundle:cel",
        "//common:cel_ast",
        "//common:compiler_common",
        "//common:container",
        "//common:options",
        "//common/internal:proto_time_utils",
        "//common/types",
        "//common/types:type_providers",
        "//common/values",
        "//common/values:cel_byte_string",
        "//compiler",
        "//compiler:compiler_builder",
        "//extensions",
        "//extensions:extension_library",
        "//extensions:lite_extensions",
        "//extensions:math",
        "//extensions:optional_library",
        "//extensions:sets",
        "//extensions:sets_function",
        "//extensions:strings",
        "//parser:macro",
        "//runtime",
        "//runtime:function_binding",
        "//runtime:interpreter_util",
        "//runtime:lite_runtime",
        "//runtime:lite_runtime_factory",
        "@cel_spec//proto/cel/expr/conformance/proto2:test_all_types_java_proto",
        "@cel_spec//proto/cel/expr/conformance/proto3:test_all_types_java_proto",
        "@cel_spec//proto/cel/expr/conformance/test:simple_java_proto",
        "@maven//:com_google_guava_guava",
        "@maven//:com_google_protobuf_protobuf_java",
        "@maven//:com_google_testparameterinjector_test_parameter_injector",
        "@maven//:junit_junit",
    ],
)

junit4_test_suites(
    name = "test_suites",
    sizes = [
        "small",
    ],
    src_dir = "src/test/java",
    deps = [":tests"],
)
